package cn.whitecao.agent.core.handler;

/**
 *  切面的实体类
 * @author : BashfulHuang
 **/
public interface PluginAopHandler {
    /**
     * 前置
     * @param className 类名
     * @param methodName 方法名
     * @param args 参数列表
     * @param oThis 可以当this用
     */
    void before(String className,String methodName,Object[] args,Object oThis);

    /**
     * 后置
     * @param className 类名
     * @param methodName 方法名
     * @param args 参数
     * @param oThis this
     * @param result 返回值
     * @param throwable 抛出的异常
     */
    void after(String className,String methodName,Object[] args,Object result,Object oThis,Throwable throwable);
}
